# 猜大小游戏
# 模拟色骰子随机生成3个1~6的数，三个色子和在3~10=>小，11~18=>大
# 玩家在键盘输入猜”大”或”小“，一轮结果，给出结果
# 可无限玩，直到用户输入exit，结束后，统计用户玩的次数,胜率
# 扩展:增加金豆，进场默认1000金豆，猜对赢100金豆，猜错输100金豆，金豆低于100不能继续玩
# 扩展:增加礼品

import random

# 初始金豆数
gold = 1000

# 初始游戏次数和胜利次数
total_game = 0
win_game = 0

# 游戏循环
print('欢迎来到猜大小游戏。\n输入"store"进入商店。\n输入“exit"退出游戏。')
while gold >= 100:
    # 随机生成三个骰子
    dice1 = random.randint(1, 6)
    dice2 = random.randint(1, 6)
    dice3 = random.randint(1, 6)

    # 计算三个骰子的和
    total_dice = dice1 + dice2 + dice3

    # 计算骰子大小
    if 3 <= total_dice <= 10:
        result = "小"
    elif 11 <= total_dice <= 18:
        result = "大"

    # 玩家猜大小
    guess = input("请猜大小（输入“大”或“小”）：")
    if guess == "exit":
        break
        # 判断猜测结果
    if guess == "store":
        buy = input(
            "欢迎进入商店\n输入序号来购买礼品\n1.作弊器：增加5次游戏胜利次数，花费1000金豆\n2.10元人民币，由文老师提供，花费100金豆\n请输入您要购买的商品:")
        if buy == "1":
            if gold < 1100:
                print("金豆不足，无法购买")
            elif gold >= 1100:
                print("购买成功\n您还有{}金豆。".format(gold))
                gold = gold - 1000
                win_game = win_game + 5
                total_game = total_game + 5
        elif buy == "2":
            if gold < 100:
                print("金豆不足，无法购买")
            elif gold >= 1000:
                gold = gold - 100
                print("购买成功！\n请找文老师兑换。\n您还有{}金豆。".format(gold))
        else:
            print("序号输入错误")
        continue
    if guess == result:
        print("恭喜，您猜对了。")
        gold += 100
        win_game += 1
    else:
        print("很遗憾，您猜错了。")
        gold -= 100

    # 统计游戏次数
    total_game += 1

    # 输出游戏结果和金豆余额
    print("骰子点数为：{}、{}、{}，和为{}，结果为{}。".format(dice1, dice2, dice3, total_dice, result))
    print("您当前的金豆余额为{}。".format(gold))

    # 判断金豆余额是否足够
    if gold < 100:
        print("您的金豆余额不足，不能继续游戏")
        break

# 输出游戏统计结果
if total_game == 0:
    print("您还没有进行游玩")
else:
    print("您一共玩了{}次游戏，胜利了{}次，胜率为{}%。".format(total_game, win_game, round(win_game / total_game * 100, 2)))
    print("您最终的金豆余额为{}。".format(gold))
